#define _GNU_SOURCE
#include <stdlib.h>
#include <stdio.h>
#include <sys/wait.h>
#include <unistd.h>

char* const addenv[] = {
    (char* const)"MYVAL1=12345",
    (char* const)"MYVAL2=12345",
    (char* const)"MYVAL3=12345",
    NULL
};
int main() {
    printf("程序开始！\n");
    if(fork() == 0) {
        printf("我是一个子进程, 我的pid是: %d\n", getpid());
        sleep(1);
        // char* const argv[] = {
        //     (char* const)"other",
        //     (char* const)"-a",
        //     (char* const)"-b",
        //     (char* const)"-c",
        //     (char* const)"-d",
        //     NULL
        // };
        // for(int i = 0; addenv[i]; i++) {
        //     putenv(addenv[i]); // 添加我们的环境变量
        // }
        // extern char **environ;
        // execvpe("./main", argv, environ); // 执行了我们的另一个函数
        // execl("/usr/bin/bash", "bash", "other.sh", NULL);
        execl("/usr/bin/python3", "python", "other.py", NULL);
    }
    waitpid(-1, NULL, 0);
    printf("程序结束了！\n");
    return 0;
}